bitkeeper revision 1.339.1.5 (3f12bf52q2jR3Bjy5IVRUmb2tYPLpw)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Mon, 14 Jul 2003 14:33:54 +0000 (14:33 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Mon, 14 Jul 2003 14:33:54 +0000 (14:33 +0000)
dom0_defs.h:
  Fix xi_ tools to get return code from privcmd proc file.

tools/internal/dom0_defs.h

index 9ef8d0645d136c604a7c554650a98e82cc8f8357..2a59c2553b97b2e338fa31269d9046b4100634a4 100644 (file)
 #include <errno.h>
 #include <string.h>
 
-#include <asm/types.h>
+typedef unsigned char      u8;
+typedef unsigned short     u16;
+typedef unsigned long      u32;
+typedef unsigned long long u64;
+typedef signed char        s8;
+typedef signed short       s16;
+typedef signed long        s32;
+typedef signed long long   s64;
 
 #include "mem_defs.h"
 #include <asm-xeno/proc_cmd.h>
@@ -29,7 +36,7 @@
 
 static inline int do_privcmd(unsigned int cmd, unsigned long data)
 {
-    int fd;
+    int fd, ret;
 
     if ( (fd = open("/proc/xeno/privcmd", O_RDWR)) < 0 )
     {
@@ -37,7 +44,7 @@ static inline int do_privcmd(unsigned int cmd, unsigned long data)
         return -1;
     }
 
-    if ( ioctl(fd, cmd, data) < 0 )
+    if ( (ret = ioctl(fd, cmd, data)) < 0 )
     {
 #ifndef SILENT_ERRORS_FROM_XEN
         PERROR("Error when executing privileged control ioctl");
@@ -47,7 +54,7 @@ static inline int do_privcmd(unsigned int cmd, unsigned long data)
     }
 
     close(fd);
-    return 0;
+    return ret;
 }
 
 static inline int xldev_to_physdev(int xldev)